#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
using namespace std;

class pred {
public:
	bool operator () (int a1, int a2) {
		return (a1>a2);
	}
};

//int main() {
//	int sz[] = {20,8,611,46,37,40,71,95,577,3};
//	vector<int> vec;
//	int k = 5;
//
//	int i = 0;
//	while (i<k) 
//		vec.push_back(sz[i++]);
//	make_heap(vec.begin(), vec.end(), greater<int>());
//
//	while (i<10) {
//		if (sz[i] > *(vec.begin())) {
//			vec[0] = sz[i];
//			make_heap(vec.begin(), vec.end(), greater<int>());
//		}
//		i++;
//	}
//
//	sort_heap(vec.begin(), vec.end(), greater<int>());
//	return 0;
//}